package com.chuangjiangx.member.stored.ddd.domain.stardard;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

/**
 * @author cj-ch
 * @date 2018/4/9 上午11:43
 */
@Data
public class MbrPaymentResult {
    /**
     * 业务结果,SUCCESS/FAIL
     */
    private String resultCode = "FAIL";
    /**
     * 错误代码
     */
    private String errCode;
    /**
     * 错误返回的信息描述
     */
    private String errCodeDes;

    //------resultCode为SUCCESS的时，会包括以下字段
    /**
     * 支付方式
     * @see com.chuangjiangx.domain.shared.model.PayEntry
     */
    private Integer payType;
    /**
     * 支付终端
     */
    private Integer payTerminal;
    /**
     * 支付状态
     */
    private Integer payStatus;
    /**
     * 订单Id
     */
    private Long orderId;
    /**
     * 订单编号
     */
    private String orderNumber;
    /**
     * 支付时间
     */
    private Date payTime;
    /**
     * 订单总金额
     */
    private BigDecimal totalFee;
    /**
     * 实际支付金额
     */
    private BigDecimal realPayFee;
    /**
     * 优惠金额
     */
    private BigDecimal discountFee;

    /**
     * 会员Id
     */
    private Long memberId;
    /**
     * 会员手机号
     */
    private String mobile;
    /**
     * 本次积分
     */
    private Long score;
    /**
     * 储值余额
     */
    private BigDecimal availableBalance;
    /**
     * 可用积分
     */
    private Long availableScore;


    public boolean isPaySuccess() {
        return Objects.equals("SUCCESS",resultCode);
    }
}
